<?php

if(isset ($_GET['acao'])){
    
    $acao = $_GET['acao'];
    
    switch ($acao) {
        
        case 'autenticar':
            $usuarioController = new UsuarioController();
            $usuarioController->autenticarUsuario();
            break;
        
        case 'cadastrar':
            $usuarioController = new UsuarioController();
            $usuarioController->cadastrarUsuario();
            break;
        
        case 'selecionar':
            $usuarioController = new UsuarioController();
            $usuarioController->selecionarUsuario($_GET['id']);
            break;
        
        case 'pesquisar':
            $usuarioController = new UsuarioController();
            $usuarioController->pesquisarUsuario($_POST['tipo_pesquisa'], $_POST['pesquisa_usuario']);
            break;
        
        case 'editar':
            $usuarioController = new UsuarioController();
            $usuarioController->editarUsuario($_GET['id']);
            break;
        
        case 'excluir':
            $usuarioController = new UsuarioController();
            $usuarioController->excluirUsuario($_GET['id']);
            break;
        
        case 'sair':
            $usuarioController = new UsuarioController();
            $usuarioController->sairUsuario();
            break;

        default:
            break;
    }
    
}

Class UsuarioController{
    
    public function autenticarUsuario() {
        //importa os arquivos
        include '../../conexao/conexao.php';
        include '../model/Bean/Usuario.Class';
        include '../model/DAO/UsuarioDAO.php';
        
        $usuario = new Usuario();
        $usuario->setLogin($_POST['login']);
        $usuario->setSenha($_POST['senha']);
        
        $usuarioDAO = new UsuarioDAO();
        $usuarioDAO->autenticarUsuario($usuario);
        
    }
    
    public function validarUsuario($tipoUsuario) {
        //importa os arquivos
        include '../model/DAO/UsuarioDAO.php';
        $usuarioDAO = new UsuarioDAO();
        $usuarioDAO->validarUsuario($tipoUsuario);
    }
    
    public function listarUsuarios() {
        //Importa arquivos
        include '../../conexao/conexao.php';
        include '../model/Bean/Usuario.Class';
        
        $usuarioDAO = new UsuarioDAO();
        $usuario = $usuarioDAO->listarUsuarios();
        return $usuario;
        
    }
    
    public function selecionarUsuario($idUsuario) {
        //Importa arquivos
        include '../../conexao/conexao.php';
        include '../model/Bean/Usuario.Class';
        
        $usuarioDAO = new UsuarioDAO();
        $usuario = $usuarioDAO->selecionarUsuario($idUsuario);     
        
        return $usuario;        
        
    }
    
    public function pesquisarUsuario($tipo_pequisa ,$pesquisa_usuario) {
        
        //Importa arquivos
        include '../../conexao/conexao.php';
        include '../model/Bean/Usuario.Class';
                
        $usuarioDAO = new UsuarioDAO();
        $usuario = $usuarioDAO->pesquisarUsuario($tipo_pequisa ,$pesquisa_usuario);    
        
        return $usuario;        
        
    }
    
    public function cadastrarUsuario() {
        
        //Importa arquivos
        include '../../conexao/conexao.php';
        include '../model/DAO/UsuarioDAO.php';
        include '../model/Bean/Usuario.Class';
        
        //Recebe os valores do formulário
        $usuario = new Usuario();
        $usuario->setEmail($_POST['email']);
        $usuario->setNome(utf8_decode($_POST['nome']));
        $usuario->setLogin($_POST['login']);
        $usuario->setSenha($_POST['login']);
        $usuario->setTipo($_POST['tipo']);
        
        $usuarioDAO = new UsuarioDAO();
        
        //Validar Login
        $validarLogin = $usuarioDAO->validarLogin($usuario);
        
        if($validarLogin == TRUE){            
            
            $emailUsuario = $usuario->getEmail();
            $nomeUsuario = $usuario->getNome();
            $tipoUsuario = $usuario->getTipo();
            header("Location: ../view/usuarioCadastro.php?nome=$nomeUsuario&email=$emailUsuario&tipo=$tipoUsuario&mensagem=login");
            
        }else{
            
            //Efetua o cadastro
            $cadastro = $usuarioDAO->cadastrarUsuario($usuario);

            if($cadastro){
                header("Location: ../view/usuarios.php");
            }else{
                header("Location: ../view/usuarioCadastro.php");
            }
            
        }
        
    }
    
    public function editarUsuario($idUsuario) {
        
        //Importa arquivos
        include '../../conexao/conexao.php';
        include '../model/DAO/UsuarioDAO.php';
        include '../model/Bean/Usuario.Class';
        
        //Recebe os valores do formulário
        $usuario = new Usuario();
        $usuario->setEmail($_POST['email']);
        $usuario->setNome($_POST['nome']);
        $usuario->setLogin($_POST['login']);
        $usuario->setSenha($_POST['senha']);
        $usuario->setTipo($_POST['tipo']);
        $usuario->setStatus($_POST['status']);
                       
        //Efetua o atualização
        $usuarioDAO = new UsuarioDAO();
        $atualizar = $usuarioDAO->editarUsuario($idUsuario, $usuario);          
                
        //Envia o usuário para a tela seguradora
        header("Location: ../view/usuarios.php");
        
    }
    
    public function excluirUsuario($idUsuario) {
        
        //Importa arquivos
        include '../../conexao/conexao.php';
        include '../model/DAO/UsuarioDAO.php';
        include '../model/Bean/Usuario.Class';
        
        //deleta a seguradora
        $usuarioDAO = new UsuarioDAO();
        $excluir = $usuarioDAO->excluirUsuario($idUsuario);
        
        //Envia o usuário para a tela seguradora
        header("Location: ../view/usuarios.php");
        
    }
    
    public function sairUsuario() {
        include '../model/DAO/UsuarioDAO.php';
        $usuarioDAO = new UsuarioDAO();
        $usuarioDAO->sairUsuario();
    }
    
}

?>
